home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Amiga-E / E_v3.2a_extras / PdSrc / oomodules / reqtools.e < prev   
Text File  |  1995-02-09  |  2KB  |  70 lines

  1. OPT MODULE
  2. OPT EXPORT
  3.  
  4. MODULE 'oomodules/library', 'reqtools', 'libraries/reqtools'
  5.  
  6. CONST FILEREQ=0
  7.  
  8. OBJECT reqtools OF library
  9.   stringbuf
  10.   filebuf
  11.   dirbuf
  12.   number
  13. ENDOBJECT
  14.  
  15. PROC new() OF reqtools
  16.   self.open('reqtools.library', 0)
  17.   IF self.base = NIL
  18.     Raise("LIB")
  19.   ELSE
  20.     reqtoolsbase := self.base
  21.   ENDIF
  22. ENDPROC
  23.  
  24. PROC ez(body,gadgets,dunno,arglist,taglist) OF reqtools
  25.   IF reqtoolsbase
  26.     RETURN RtEZRequestA(body,gadgets,dunno,arglist,taglist)
  27.   ENDIF
  28. ENDPROC
  29.  
  30. PROC string(title=NIL,maxlen=200,dunno=NIL,dunno2=NIL) OF reqtools
  31.   IF self.stringbuf THEN Dispose(self.stringbuf)
  32.   self.stringbuf := New(maxlen)
  33.  
  34.   RtGetStringA(self.stringbuf,maxlen,title,dunno,dunno2)
  35. ENDPROC
  36.  
  37. PROC end() OF reqtools
  38.   IF self.stringbuf THEN Dispose(self.stringbuf)
  39.   CloseLibrary(reqtoolsbase)
  40. ENDPROC
  41.  
  42. PROC palette(title,dunno=NIL,dunno2=NIL) OF reqtools
  43.   self.number :=  RtPaletteRequestA(title,dunno,dunno2)
  44. ENDPROC self.number
  45.  
  46. PROC long(title,dunno=NIL,dunno2=NIL) OF reqtools
  47. DEF number
  48.   RtGetLongA({number}, title, dunno, dunno2)
  49.   self.number := number
  50. ENDPROC self.number
  51.  
  52. PROC file(title,maxlen=200) OF reqtools HANDLE
  53. DEF req:PTR TO rtfilerequester
  54.  
  55.   IF req:=RtAllocRequestA(FILEREQ,0)
  56.  
  57.     IF self.filebuf THEN Dispose(self.filebuf)
  58.     IF self.dirbuf THEN Dispose(self.dirbuf)
  59.     self.filebuf := NewR(maxlen)
  60.     self.dirbuf := NewR(maxlen)
  61.  
  62.      RtFileRequestA(req,self.filebuf,title,0)
  63.      AstrCopy(self.dirbuf,req.dir,maxlen)
  64.      RtFreeRequest(req)
  65.  ENDIF
  66.  
  67. EXCEPT
  68.   NOP
  69. ENDPROC
  70.